python学习

您所在的位置:网站首页 求最大公约数 python python学习

python学习

2024-01-25 01:10| 来源: 网络整理| 查看: 265

参考: https://www.cnblogs.com/yxym2016/p/12969067.html https://blog.csdn.net/weixin_43846904/article/details/112999660

1、暴力求解

已知两个数a,b,i 从1遍历到min(a,b),判断 i 是不是a,b的因数,在遍历过程中找到最大的因数,即为最大公因数。

def gcd(a,b): num = 1 for i in range(2,min(a,b)+1): if a%i==0 and b%i==0: num = i return num a = int(input('input number a:')) b = int(input('input number b:')) print("最大公约数为:",gcd(a,b)) 2、辗转相除法

辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。

对于任意给定的两个自然数,假设a>b, 判断b是否为0:如果为0,则最大公约数直接就是a;如果不为0,就将两个整数a与b进行相除。 如果余数为0(a%b==0),则b为两数的最大公约数;如果不等于0,则将b赋值给a,将余数赋值给b,再对新的a、b进行递归运算求最大公约数。 递归的结束条件就是b==0。

def gcd(a,b): if a==b: return b if a


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3